home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
keyb
/
keyswp12.zip
/
KEYSWAP.DOC
< prev
next >
Wrap
Text File
|
1988-03-11
|
61KB
|
1,431 lines
K E Y S W A P
A Keyboard Enhancer for the IBM-PC
Version 1.2
and
K E Y D E F
A Screen-Oriented Keyboard Definer
Version 1.0
Summer Institute of Linguistics
International Computer Services
Box 248, JAARS Center
Waxhaw,NC
Copyright (c) 1988, SIL, Inc.
T a b l e o f C o n t e n t s
Keyboard Enhancer
1. KEYSWAP: Keyboard Enhancer
1.1 Introduction
1.2 Functional Description
1.3 Compatibility of KEYSWAP with Other Programs
1.4 How to Install KEYSWAP
1.5 How to Use the Hot Keys
1.5.1 Changing Between Keyboards
1.5.2 Changing to Keyboard 0
1.5.3 Temporarily Suppressing Key Translation
1.6 Command Line Options
1.6.1 -D Option
1.6.2 -K Option
1.6.2.1 Using -K on a Previously Loaded Table
1.6.2.2 Using -K When Loading a New Table
1.6.3 Getting Usage Message
1.6.4 Getting Status Information
1.7 Changes from Previous Versions
2. KEYDEF: Keyboard Table Definer
2.1 How to Invoke KEYDEF
2.2 The KEYDEF Editing Screen
2.3 Editing Keyboard Entries
2.3.1 Cursor Movements
2.3.2 Inserting/Deleting Keystrokes
2.3.3 The Escape Key
2.3.4 Inserting Extended Characters
2.4 Using the Function Keys
2.4.1 The Regular (unshifted) Function Keys
2.4.2 The Shifted Function Keys
2.5 Miscellaneous Tips and Cautions
2.6 Changes from Previous Versions
Appendix A. KEYSWAP MESSAGES
A.1 Error Messages
A.2 Informational Messages
Appendix B. MNEMONICS USED BY KEYDEF
B.1 Mnemonics for ASCII control characters
B.2 Mnemonics for Function Keys (F1 - F10)
B.3 Mnemonics for ALT keys
B.4 Mnemonics for Keypad keys
B.5 Mnemonics for Extended Characters
B.6 Miscellaneous mnemonics
KEYSWAP.DOC 07-Mar-88
Chapter 1
K E Y S W A P : K e y b o a r d E n h a n c e r
1.1 Introduction
The Keyboard Enhancer (called KEYSWAP) is a program for providing
flexible re-definition of a user's keystrokes according to a
memory-resident table of translations. Any one- or two-character
sequence can be translated into any other sequence of zero or more
characters. This allows "custom" keyboards to be designed to fit the
user's needs and preferences. Up to 9 independent keyboards (numbered
1 through 9) can be defined in this manner. A tenth keyboard (called
keyboard 0) is a non-definable keyboard in which no translations take
place (i.e., all keystrokes pass through unchanged). A simple
keystroke sequence allows the user to switch quickly between these ten
keyboards.
The primary motivation for developing this enhancer was to provide
convenient access to the IBM's extended characters (character codes
128 through 255). For example, the two-character sequence "'e"
(apostrophe followed by "e") could be defined to produce the code 130
(which is the code for the acute-accented "e" in the standard IBM
extended character set). This would eliminate the need for typing the
clumsy "ALT-1-3-0" sequence to access the accented-e.
1.2 Functional Description
The keyboard enhancer functions as a memory-resident filter between
the user and the application program. It monitors the user's
keystrokes looking for any one- or two-character match sequences
defined for the current keyboard. When a match sequence is found, the
match sequence is replaced by its corresponding sequence of
characters. Non-matched keystrokes simply pass through unchanged.
KEYSWAP works by intercepting the user's keystrokes at the ROM-BIOS
interrupt level (interrupt 16H). In this way, the enhancer's
activities are transparent to any well-behaved application programs.
The potential does exist, however, for conflicts between KEYSWAP and
other memory resident programs -- especially those which perform
keyboard mapping of their own.
1.3 Compatibility of KEYSWAP with Other Programs
Testing thus far indicates that the enhancer runs under ED,
PC-WRITE, WordStar, and several other editors with no problems.
KEYSWAP also works with MicroSoft WORD (at least with versions 3.10
and 4.0 of WORD), but there was a reported problem with using a mouse
with WORD while the old version of KEYSWAP (version 1.1) was
installed. To the best of our knowledge, the new version of KEYSWAP
(version 1.2) fixes this problem.
KEYSWAP has also been tried in conjunction with SideKick, and it
appeared to have no conflicts as long as SideKick was loaded after
KEYSWAP.DOC 07-Mar-88 1
Compatibility of KEYSWAP with Other Programs KEYSWAP 1.3
KEYSWAP. It should also be noted that SideKick needs to be toggled
into showing graphics (by typing CTRL-Q followed by "G") before any
keys which are mapped to upper ASCII values will display as intended.
The enhancer will NOT run under XyWrite as yet. Further testing is
required to discover if the enhancer has any undesired interactions
with other application programs.
1.4 How to Install KEYSWAP
The keyboard enhancer is invoked from the DOS prompt as follows:
A>KEYSWAP [-Kn] filename
where '[-Kn]' denotes a -K command line option (See
"Command Line Options" below), and 'filename' is the
complete name of the keyboard table which is to be loaded.
NOTE: KEYSWAP does not assume any default filename
extension, so the extension should be explicitly given.
The above command installs KEYSWAP in memory and loads in the
specified keyboard table.
The keyboard table is a file which defines the keystroke
translations which are to be done for all 9 of the custom keyboards.
It also defines the two "hot keys" which KEYSWAP will recognize. (The
function of these hot keys is described in a later section.) The
keyboard table must be in a form which is recognizable to KEYSWAP.
See the section entitled "KEYDEF: Keyboard Table Definer" for a
description of how a custom keyboard table may be produced.
As an example, one could load the sample keyboard table (called
SAMPLE.KBD) using the following command:
A>KEYSWAP SAMPLE.KBD
and KEYSWAP would respond with
KEYSWAP Version 1.2, March 1988, Copyright (c) SIL 1988
Keyboard table has been successfully loaded from file "SAMPLE.KBD"
Keyboard #0 is now active.
Resident portion of KEYSWAP is now installed.
A different message would indicate that KEYSWAP encountered a
problem while trying to load the keyboard table. See Appendix A for
the explanations of possible error messages.